package com.hhxy.service;

import com.hhxy.model.dto.AddArticleDto;
import com.hhxy.model.entity.Article;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hhxy.utils.response.ResponseResult;

/**
* @author ghp
* @description 针对表【tb_article(文章表)】的数据库操作Service
* @createDate 2023-04-25 11:58:34
*/
public interface ArticleService extends IService<Article> {

    /**
     * 查询热门文章
     *
     * @return
     */
    ResponseResult hotArticleList();

    /**
     * 分页条件查询文章
     *
     * @param pageNum
     * @param pageSize
     * @param categoryId
     * @return
     */
    ResponseResult articleList(Integer pageNum, Integer pageSize, Long categoryId);

    /**
     * 根据id查看文章详情
     *
     * @param id
     * @return
     */
    ResponseResult getArticleDetail(Long id);

    /**
     * 根据文章id更新文章访问量
     * @param id
     * @return
     */
    ResponseResult updateViewCount(Long id);

    /**
     * 分页查询文章
     * @param pageNum
     * @param pageSize
     * @param title
     * @param summary
     * @return
     */
    ResponseResult list(Integer pageNum, Integer pageSize, String title, String summary);

    /**
     * 新增文章
     * @param addArticleDto
     * @return
     */
    ResponseResult add(AddArticleDto addArticleDto);

    /**
     * 根据id删除文章
     * @param ids
     * @return
     */
    ResponseResult deleteArticleByIds(Long[] ids);

    /**
     * 根据id查询文章信息
     * @param id
     * @return
     */
    ResponseResult getArticleById(Long id);

    /**
     * 根据id修改文章信息
     * @param addArticleDto
     * @return
     */
    ResponseResult updateArticleById(AddArticleDto addArticleDto);
}
